<?php
	
	//require_once("../CreateUser/createUserController.php");
	require_once("loginHandler.php");
	require_once ("loginView.php");
	
	class LoginController
	{
		//Variabler för array
		private $arrayUserName = "arrayUserName";
		private $arrayPassword = "arrayPassword";
		
		//Funktion för att kolla användares loginstatus.
		public function DoControll(DatabaseHandler $database)
		{
			$loginHandler = new LoginHandler($database);
			$loginView = new LoginView();
			$createUserController = new CreateUserController();
			
			//Kontrollerar om användaren är inloggad.
			if($loginHandler->IsLoggedIn() == true)
			{
				//Kontrollerar om användaren försökt logga ut.
				//Om användaren försökt logga ut så tas cookies bort och användaren blir utloggad. Meddelande visas.
				if ($loginView->TriedToLogout() == true)
				{
					$loginHandler->DoLogout();
					$loginView->UnsetCookie();

				}
				//return $loginView->DoLogoutBox() . $loginController . $this->loginSuccessMessage;
			}
			//Kontrollerar om användare har försökt logga in.
			else if($loginView->TriedToLogin() == true)
			{
					//Kontrollerar om användarnamn och lösenord är korrekta.
					if ($loginHandler->DoLogin($loginView->GetUserName(), $loginView->GetPassword()) == true)
					{
						//Kontrollerar om användaren har valt att spara sina uppgifter. Sparar isf uppgifterna i cookies.
						if ($loginView->RememberMe() == true)
						{
							$loginView->SetCookie();
						}
					}
					//Om inloggningsuppgifterna är fel så visas felmeddelande. Själva kontrollen i "else if" är egentligen överflödig.
					else if	($loginHandler->DoLogin($loginView->GetUserName(), $loginView->GetPassword()) == false)
					{
						return $loginView->Headers(LoginView::LOGINCONTROLLER_HEADER) . $loginView->LoginMessage(LoginView::USER_LOGIN_FAIL) . $loginView->DoLoginBox();
					}
			}			
			
			//Kollar om användarens uppgifter finns sparade i cookies. isf görs en automatisk inloggning.
			//Uppgifterna skickas tillbaka i en array från funktionen "CheckCookie".
			else if ($loginView->CookieIsset() == true)
			{
				$infoArray = $loginView->CheckCookie();
				$loginHandler->DoLogin($infoArray[$this->arrayUserName], $infoArray[$this->arrayPassword]);
			}
			
			//Kollar om man är inloggad/utloggad.
			if ($loginHandler->IsLoggedIn() == true)
			{
				return $loginView->Headers(LoginView::LOGINCONTROLLER_HEADER) . $loginView->LoginMessage(LoginView::USER_LOGIN_YES) . $loginView->DoLogoutBox();
			}
			else 
			{
				return $loginView->Headers(LoginView::LOGINCONTROLLER_HEADER) . $loginView->LoginMessage(LoginView::USER_LOGIN_NO) . $loginView->DoLoginBox();
			}
			
		}	
	}

?>